//
//  LBBeautifulSkinFilter.h
//  OpenGLGame
//
//  Created by Nguyen Cong Huy on 2/22/13.
//  Copyright (c) 2013 UIT. All rights reserved.
//

#ifndef OpenGLGame_LBBeautifulSkinFilter_h
#define OpenGLGame_LBBeautifulSkinFilter_h

#include "LBFilter.h"

class LBFaceSkinDetect;
class LBBilateralFilter;
class LBCombineTextureFilter;

class LBBeautifulSkinFilter : public LBFilter{
    LBFaceSkinDetect* faceSkinDetectFilter;
    LBBilateralFilter* bilateralFilter;
    LBCombineTextureFilter* combineTextureFilter;
    
private:
    void calculateBlurSize();
    
public:
    LBBeautifulSkinFilter();
    ~LBBeautifulSkinFilter();
    void setFaceBoundData(int numFace, float* faceBoundData);
    void setTexture(LBTexture* texture);
    void setAverageSkinColor(float red, float green, float blue);
    void setStandardBrightness(float standardBrightness);
    void setBlurSize(float blurSize);
    float getBlurSize();
    void setSharpness(float sharpness);
    void render();
};

#endif
